package java_util;

import java.util.Vector;
import java.util.Enumeration;
/**
 * Java.util.Vector提供了向量(Vector)类以实现类似动态数组的功能
 * @author cb
 * 对于预先不知或不愿预先定义数组大小，并需频繁进行查找、插入和删除工作的情况，可以考虑使用向量类
 */
public class VectorTest {
	@SuppressWarnings({ "rawtypes", "unchecked" })
	public static void main(String args[]) {
		Vector v1=new Vector();
		Integer integer1=new Integer(1);
		v1.addElement("one");
		//加入的为字符串对象
		v1.addElement(integer1);
		v1.addElement(integer1);
		//加入的为Integer的对象
		v1.addElement("two");
		v1.addElement(new Integer(2));
		v1.addElement(integer1);
		v1.addElement(integer1);
		System.out.println("The vector v1 is:/n/t"+v1);
		//将v1转换成字符串并打印
		v1.insertElementAt("three",2);
		v1.insertElementAt(new Float(3.9),3);
		System.out.println("The vector v1(used method insertElementAt()) is:/n/t "+v1);
		//往指定位置插入新的对象，指定位置后的对象依次往后顺延
		v1.setElementAt("four",2);
		System.out.println("The vector v1(used method setElementAt()) is:/n/t "+v1);
		//将指定位置的对象设置为新的对象
		v1.removeElement(integer1);
		//从向量对象v1中删除对象integer1由于存在多个integer1所以从头开始
		//找，删除找到的第一个integer1
		Enumeration enums=v1.elements();
		System.out.print("The vector v1(used method removeElement())is:");
		while(enums.hasMoreElements())
			System.out.print(enums.nextElement()+" ");
		System.out.println();
		//使用枚举类(Enumeration)的方法来获取向量对象的每个元素
		System.out.println("The position of object 1(top-to-bottom):" + v1.indexOf(integer1));
		System.out.println("The position of object 1(tottom-to-top):" + v1.lastIndexOf(integer1));
		//按不同的方向查找对象integer1所处的位置
		v1.setSize(4);
		System.out.println("The new vector(resized the vector)is:"+v1);
		//重新设置v1的大小，多余的元素被行弃
	}
}
